home *** CD-ROM | disk | FTP | other *** search
/ PC World Interactive 1 / PC World Interactive 1 - Nisan 1997.iso / nostalji / bbs / faq / elmfilt.txt < prev    next >
Internet Message Format  |  1995-04-29  |  50KB

  1. Path: senator-bedfellow.mit.edu!faqserv
  2. From: FAQ Editor <faq-editor@ii.com>
  3. Newsgroups: comp.mail.misc,comp.mail.elm,comp.mail.pine,comp.answers,news.answers
  4. Subject: Filtering Mail FAQ
  5. Supersedes: <mail/filtering-faq_797452370@rtfm.mit.edu>
  6. Followup-To: comp.mail.misc
  7. Date: 17 Apr 1995 20:13:49 GMT
  8. Organization: Infinite Ink, Seattle, Washington, USA
  9. Lines: 1376
  10. Approved: news-answers-request@mit.edu
  11. Expires: 29 May 1995 20:07:58 GMT
  12. Message-ID: <mail/filtering-faq_798149278@rtfm.mit.edu>
  13. Reply-To: FAQ Editor <faq-editor@ii.com>
  14. NNTP-Posting-Host: bloom-picayune.mit.edu
  15. X-Last-Updated: 1995/04/17
  16. Originator: faqserv@bloom-picayune.MIT.EDU
  17. Xref: senator-bedfellow.mit.edu comp.mail.misc:22985 comp.mail.elm:18439 comp.mail.pine:7833 comp.answers:11291 news.answers:42149
  18.  
  19. Archive-name: mail/filtering-faq
  20. Posting-frequency: approximately monthly
  21. Last-modified: 18 April 1995
  22.  
  23. Current Hypertext Version:
  24.  http://www.cis.ohio-state.edu/hypertext/faq/usenet/mail/filtering-faq/faq.html
  25.  
  26.            _____________________________________________________
  27.   ________|                                                     |________
  28.   \       |                  FILTERING MAIL FAQ                 |       /
  29.    \      |  Copyright (c) 1994, 1995 Nancy McGough and others  |      /
  30.    /      |_____________________________________________________|      \
  31.   /___________)                                              (__________\
  32.  
  33.  
  34.   TABLE OF CONTENTS
  35.  
  36.   0.0 Preliminaries
  37.       0.1 Getting the Latest Version of this FAQ
  38.           0.1.1 Hypertext
  39.           0.1.2 Plain Text
  40.       0.2 Terminology
  41.       0.3 Notation
  42.   1.0 Mail Folder Strategies
  43.       1.1 Naming Incoming Mail Folders
  44.       1.2 Reading Incoming Mail Folders
  45.   2.0 Procmail
  46.       2.1 Setting Up Procmail
  47.           2.1.1 Is Procmail on Your System?
  48.           2.1.2 Setting Up Procmail for Testing
  49.           2.1.3 Testing
  50.           2.1.4 Setting Up Procmail to Filter Mailing List Messages
  51.       2.2 Troubleshooting Procmail
  52.           2.2.1 General Strategies
  53.           2.2.2 Alternate .forward files
  54.       2.3 Explanation of Test Recipe
  55.       2.4 Tracking Your Incoming Mail
  56.       2.5 Procmail References
  57.   3.0 Mailagent
  58.       3.1 Setting Up Mailagent
  59.       3.2 Tracking Your Incoming Mail
  60.       3.3 How Safe Mailagent Processing Is?
  61.       3.4 Locking Under Mailagent
  62.       3.5 Folder Types Supported
  63.       3.6 Mailagent References
  64.   4.0 Filter
  65.       4.1 Setting up Filter
  66.       4.2 Tracking Your Incoming Mail
  67.       4.3 Filter References
  68.   5.0 Mailer and Newsreader References
  69.   6.0 Contributors
  70.       6.1 Acknowledgements
  71.       6.2 Contributing to this FAQ
  72.   7.0 Copyright Notice
  73.  
  74. ----------------------------------------------------------------------
  75.  
  76. Date: 18 Apr 1995 00:00:00 GMT
  77. From: FAQ Editor <faq-editor@ii.com>
  78. Subject: 0.0 Preliminaries
  79.  
  80. Q: How can I have my incoming mailing-list messages automatically put
  81.    into appropriate folders?
  82.  
  83. This is one of the most frequently asked questions about email.  This
  84. FAQ provides basic instructions for Unix users to set up either
  85. procmail, mailagent, or elm's filter to filter incoming mailing-list
  86. messages.  If you have a choice, I recommend procmail which is
  87. powerful, robust, and is actively developed and supported.
  88.  
  89. All these mail processors can also be set up to filter other types of
  90. incoming messages, send automated replies, etc.  For instructions see
  91. the relevant references listed below.
  92.  
  93. ------------------------------
  94.  
  95. Date: 18 Apr 1995 00:00:10 GMT
  96. From: FAQ Editor <faq-editor@ii.com>
  97. Subject:     0.1 Getting the Latest Version of this FAQ
  98.  
  99. If this FAQ is over a couple months old, there may be an updated
  100. version.  Please get the latest hypertext or plain text version from
  101. one of the places listed below.
  102.  
  103. ------------------------------
  104.  
  105. Date: 18 Apr 1995 00:00:11 GMT
  106. From: FAQ Editor <faq-editor@ii.com>
  107. Subject:         0.1.1 Hypertext
  108.  
  109. The best way to read this FAQ (and most other FAQs too) is to view
  110. the hypertext version using a Web browser such as Cello, Lynx,
  111. Mosaic, Netscape, OmniWeb, SpiderWoman or WinWeb.  This will allow
  112. you to easily jump:
  113.    * between subjects in the FAQ
  114.    * to any Uniform Resource Locator (URL) in the FAQ
  115.    * to an Internet Request For Comments document (RFC)
  116.    * to some manual pages
  117.  
  118. This, and all FAQs that are crossposted to news.answers, are available at:
  119.  http://www.cis.ohio-state.edu/hypertext/faq/usenet/top.html
  120.  
  121. This particular FAQ is at:
  122.  http://www.cis.ohio-state.edu/hypertext/faq/usenet/mail/filtering-faq/faq.html
  123.  
  124. ------------------------------
  125.  
  126. Date: 18 Apr 1995 00:00:12 GMT
  127. From: FAQ Editor <faq-editor@ii.com>
  128. Subject:         0.1.2 Plain Text
  129.  
  130. The plain text version is regularly posted to comp.mail.misc,
  131. comp.mail.elm, comp.mail.pine, comp.answers, and news.answers.  It's
  132. in digest format which means that you may be able to use your
  133. newsreader to easily move between digest items (e.g., nn uses G% to
  134. burst a digest and trn uses ^G to jump to the next digest item).
  135.  
  136. The FAQ is also available through:
  137.  
  138. Anonymous FTP:
  139.  ftp://ftp.halcyon.com/pub/ii/internet/filtering_mail_faq.txt
  140.  ftp://rtfm.mit.edu/pub/usenet/news.answers/mail/filtering-faq
  141.  
  142. Email:
  143.  Send mail to mail-server@rtfm.mit.edu containing the following:
  144.     send usenet/news.answers/mail/filtering-faq
  145.  
  146. UUCP:
  147.  uunet!/archive/usenet/news.answers/mail/filtering-faq
  148.  
  149. Hard Copy:
  150.  A printed version of this FAQ is in Chapter 25 of the book 
  151.  "Internet Secrets" by John R. Levine and Carol Baroudi; published 
  152.  1995 by IDG Books; ISBN 1-56884-452-2.
  153.  
  154. ------------------------------
  155.  
  156. Date: 18 Apr 1995 00:00:20 GMT
  157. From: FAQ Editor <faq-editor@ii.com>
  158. Subject:     0.2 Terminology
  159.  
  160.   Term               Meaning
  161.   ====               =======
  162.   mailer or MUA      Mail user agent such as pine or elm
  163.   pico               PIne COmposer - a user friendly editor
  164.   reader             Mailer, newsreader, or Web browser that can read 
  165.                      mail folders
  166.   regular expression Text that can include "wild cards" (such as . to
  167.                      match any single character); used for searching
  168.   ^x                 Press the Ctrl key and then, while holding down the 
  169.                      Ctrl key, press the x key
  170.   ~ or $HOME         Your home directory.  You can always get to your
  171.                      home directory by typing `cd'.
  172.  
  173. ------------------------------
  174.  
  175. Date: 18 Apr 1995 00:00:30 GMT
  176. From: FAQ Editor <faq-editor@ii.com>
  177. Subject:     0.3 Notation
  178.  
  179. Notation  Meaning
  180. ========  =======
  181. TextName  placeholder; replace with appropriate text
  182. <text>    placeholder; replace with appropriate text without the angle brackets
  183. `text'    text you type but without the quotes
  184. "text"    text you type including the double quotes
  185. 'text'    text you type including the single quotes
  186. [Key]     press the key, e.g., [Space], [Enter], or [Tab]
  187.  
  188. ------------------------------
  189.  
  190. Date: 18 Apr 1995 00:01:00 GMT
  191. From: FAQ Editor <faq-editor@ii.com>
  192. Subject: 1.0 Mail Folder Strategies
  193.  
  194. It is a good idea to come up with a system for naming and reading
  195. your mail folders.  With a good system, you will have an easier time
  196. managing the hundreds (or thousands!) of messages you will receive.
  197.  
  198. ------------------------------
  199.  
  200. Date: 18 Apr 1995 00:01:10 GMT
  201. From: FAQ Editor <faq-editor@ii.com>
  202. Subject:     1.1 Naming Incoming Mail Folders
  203.  
  204. For my incoming mail folders I use names that start with `IN'.  For
  205. example, I put mail sent to the procmail mailing list into a folder
  206. named IN.procmail.  This way when all my folders are listed
  207. alphabetically the incoming folders are together and near the top.
  208. They are near the top because Unix is case sensitive and upper case
  209. letters come before lower case letters in an ascii sort.
  210.  
  211. Of course, you can use any names you like for your mail folders!
  212.  
  213. ------------------------------
  214.  
  215. Date: 18 Apr 1995 00:01:20 GMT
  216. From: FAQ Editor <faq-editor@ii.com>
  217. Subject:     1.2 Reading Incoming Mail Folders
  218.  
  219. Here are some instructions for opening a mail folder that's in the
  220. default folder directory for some mailers and newsreaders.
  221.  
  222.          Default Folder  
  223.  Reader   Directory      Command line command  From within reader
  224.  ======  ==============  ====================  ==================
  225.  elm     ~/Mail          elm -f =folder        c =folder
  226.  pine    ~/mail          pine -if folder       G folder
  227.  mail    ~/mail          mail -f /path/folder
  228.  nn      ~/News          nn +folder            G +folder
  229.  
  230. (Please send me information for other mailers and newsreaders.)
  231.  
  232. Pine has an incoming-folder variable which you can use to list your
  233. incoming folders in a separate section of your folder list (to view
  234. your folder list in Pine, type `L').  Setting this variable also
  235. allows you to use the Tab key to step through all new messages in all
  236. your incoming folders.  For more information see the question "How
  237. can I filter messages into different incoming folders?" in the Pine
  238. FAQ:
  239.  
  240.   http://www.washington.edu/pine/faq/usage.html#filter
  241.  
  242.  
  243. IMPORTANT NOTE 
  244. ============== 
  245. If you are going to be editing your incoming mail folder, e.g.,
  246. deleting messages, then your filtering program and your folder reader
  247. should use locking schemes that work together.  Otherwise, if mail is
  248. delivered at the same time that you are deleting a message your
  249. folder may be corrupted.  To learn more about locking see the
  250. question "What is folder locking and how does it work?" in the Pine
  251. FAQ.  This is useful to read even if you don't use Pine as your
  252. mailer.
  253.  
  254.   http://www.cac.washington.edu/pine/faq/errors.html#locking
  255.  
  256. Most mailers, such as pine and elm, use lock a file named
  257. `folder.lock' to lock the folder named `folder'.  Note that nn does
  258. not lock folders so you probably don't want to use nn to delete
  259. messages in a folder that is receiving incoming messages.  (Please
  260. send me info about locking in other mailers and newsreaders.)
  261.  
  262. For more information about specific mailers and newsreaders, see the
  263. relevant documentation, such as man pages and Web pages.  Some
  264. pointers to documentation are listed in section 5.0.
  265.  
  266. ------------------------------
  267.  
  268. Date: 18 Apr 1995 00:02:00 GMT
  269. From: FAQ Editor <faq-editor@ii.com>
  270. Subject: 2.0 Procmail
  271.  
  272. Procmail is a powerful mail processor that can be used to process your
  273. mail messages either as they arrive or after they are in a mail folder.  
  274. To find out how to process an existing mail folder see the NOTES section
  275. of the procmail(1) man page.
  276.  
  277. ------------------------------
  278.  
  279. Date: 18 Apr 1995 00:02:10 GMT
  280. From: FAQ Editor <faq-editor@ii.com>
  281. Subject:     2.1 Setting Up Procmail
  282.  
  283. To set up and test procmail, follow the ten steps given in sections
  284. 2.1.1 through 2.1.4 below.
  285.  
  286. ------------------------------
  287.  
  288. Date: 18 Apr 1995 00:02:11 GMT
  289. From: FAQ Editor <faq-editor@ii.com>
  290. Subject:         2.1.1 Is Procmail on Your System?
  291.  
  292. 1]  To find out if procmail is on your system and what the full path to 
  293.     it is, type one of the following commands:
  294.  
  295.       Shell      Command
  296.       =====      =======
  297.       csh        which procmail
  298.       sh or ksh  type procmail
  299.       various    whereis procmail
  300.       various    where procmail
  301.  
  302.     Make a note of the full path to procmail because this is needed in
  303.     step 5b below.  You can find out the version by typing:
  304.  
  305.       procmail -v
  306.  
  307.    The latest released version, as of 15 April 1995, is 3.10.
  308.    Version 3.11 should be out soon.  If your system doesn't have
  309.    procmail or doesn't have the latest version, you may want to ask
  310.    your system administrator to install it.  The procmail package of
  311.    tools is at:
  312.  
  313.  ftp://ftp.informatik.rwth-aachen.de/pub/packages/procmail/procmail.tar.gz
  314.  
  315.    If your sys admin isn't able to do this, use a different mail
  316.    processor like mailagent (described in section 3 of this FAQ) or
  317.    filter (described in section 4).
  318.  
  319. ------------------------------
  320.  
  321. Date: 18 Apr 1995 00:02:12 GMT
  322. From: FAQ Editor <faq-editor@ii.com>
  323. Subject:         2.1.2 Setting Up Procmail for Testing
  324.  
  325. 2a] Create ~/.procmailrc.  
  326.  
  327.      cd
  328.      pico .procmailrc
  329.  
  330.     NOTE: Throughout this article I use pico for editing files.
  331.           Replace `pico' with your editor.
  332.  
  333. 2b] Enter a modified version of the following in your ~/.procmailrc.
  334.     Note that lines that begin with # are comments and are ignored by
  335.     procmail.
  336.  
  337.      #Set on when debugging
  338.      VERBOSE=off
  339.  
  340.      #Replace `mail' with your mail directory (Pine uses mail, Elm uses Mail)
  341.      MAILDIR=$HOME/mail
  342.      
  343.      #Directory for storing procmail log and rc files
  344.      PMDIR=$HOME/.procmail
  345.      
  346.      LOGFILE=$PMDIR/log
  347.      INCLUDERC=$PMDIR/rc.testing
  348.      INCLUDERC=$PMDIR/rc.maillists
  349.  
  350. 3] Create the directory where you will store your procmail log and rc files 
  351.    (this is $PMDIR that you set above).
  352.  
  353.      cd
  354.      mkdir .procmail
  355.  
  356.  
  357. 4a] Create an rc (run commands) file for testing:
  358.  
  359.      cd .procmail
  360.      pico rc.testing
  361.  
  362.  
  363. 4b] Enter the following in ~/.procmail/rc.testing:
  364.  
  365.       :0:
  366.       * ^Subject:.*test
  367.       IN.testing
  368.  
  369.     Note that the first line contains a zero (0), not the letter "oh".
  370.     For now, don't worry about the meaning of this recipe.  It is
  371.     explained in 2.3 "Explanation of Test Recipe."
  372.  
  373.  
  374. 5a] Create a ~/.forward file by typing the following. (Pico's -w flag tells 
  375.     pico not to auto wrap lines.)
  376.  
  377.      cd
  378.      pico -w .forward
  379.  
  380.  
  381.  
  382. 5b] Enter a modified version of the following in your ~/.forward:
  383.  
  384.  
  385.      "|IFS=' ' && exec /usr/local/bin/procmail -f- || exit 75 #nancym"
  386.  
  387.  
  388.     == IMPORTANT NOTES ==
  389.     * Make sure you include all the quotes, both double (") and single (').
  390.     * The vertical bar (|) is a pipe.
  391.     * Replace /usr/local/bin with the correct path for procmail (see step 1).
  392.     * Replace `nancym' with your userid.  You need to put your userid in 
  393.       your .forward so that it will be different than any other .forward file 
  394.       on your system.
  395.    
  396.     * Do NOT use ~ or environment variables, like $HOME, in your .forward
  397.       file.  If procmail resides below your home directory write out the 
  398.       *full* path.
  399.  
  400.  
  401. 5c] On many systems you need to make your .forward world 
  402.     readable and your home directory world searchable in order for the
  403.     mail transport agent to "see" it.  To do this type:
  404.    
  405.       cd
  406.       chmod 644 .forward
  407.       chmod a+x .
  408.  
  409. ------------------------------
  410.  
  411. Date: 18 Apr 1995 00:02:13 GMT
  412. From: FAQ Editor <faq-editor@ii.com>
  413. Subject:         2.1.3 Testing
  414.  
  415. 6] Send yourself two test messages: one with `test' in the subject
  416.    and one without `test' in the subject.
  417.  
  418.  
  419. 7] Start your mailer (pine, elm, etc.) and check that the messages
  420.    were delivered correctly.  The one with `test' in the subject
  421.    should be in the folder $MAILDIR/IN.testing and the one without 
  422.    `test' in the subject should be in your inbox.  
  423.  
  424.    If these were not delivered correctly, see section 2.2 on
  425.    "Troubleshooting Procmail" section below.
  426.  
  427. ------------------------------
  428.  
  429. Date: 18 Apr 1995 00:02:14 GMT
  430. From: FAQ Editor <faq-editor@ii.com>
  431. Subject:         2.1.4 Setting Up Procmail to Filter Mailing List Messages
  432.  
  433. 8a] Once you have successfully tested procmail in steps 6 and 7, create 
  434.      rc.maillists for filtering incoming mailing-list messages into mail 
  435.      folders.
  436.   
  437.       cd
  438.       cd .procmail
  439.       pico rc.maillists
  440.  
  441.  
  442. 8b] In rc.maillists, create a recipe, like the two example recipes
  443.     below, for each of your mailing lists.
  444.  
  445.      :0:
  446.      * ^TOwww-talk
  447.      IN.www-talk
  448.  
  449.      :0:
  450.      * ^TOprocmail
  451.      IN.procmail
  452.      
  453.      The first recipe filters the www-talk mailing list and the second 
  454.      recipe filters the procmail mailing lists.  The meaning of the first 
  455.      recipe is as follows:
  456.  
  457.      Notation      Meaning
  458.      ========      =======
  459.      :0            Begin a recipe
  460.        :           Use a lock file
  461.      *             Begin a condition 
  462.        ^TO         Match ``To:'' ``Cc:'' or other synonyms for To at the
  463.                    beginning of a line, followed by any or no characters,
  464.                    followed by....
  465.           www-talk  ``www-talk''
  466.      IN.www-talk   If successful match, put in folder $MAILDIR/IN.www-talk
  467.  
  468.   
  469.      IMPORTANT NOTES
  470.      ===============
  471.      * ^TO is not a normal regular expression; it is a special
  472.        procmail expression that is designed to catch any destination
  473.        specification.  For details, see the MISCELLANEOUS section of
  474.        the procmailrc(5) man pages.
  475.  
  476.      * Do not put a space between the caret (^) and the word `TO' in
  477.        `^TO'.
  478.  
  479.      * Do not put a space between the `^TO' and the text that you are
  480.        matching on; it must be `^TOtext'.
  481.  
  482.      * Both letters in `TO' must be capitalized.
  483.        
  484.  
  485. 9]  Repeat steps 6 and 7 to make sure that things are still working.
  486.  
  487.  
  488. 10]  Comment out the rc.testing line in you .procmailrc file so that it looks 
  489.      like this:
  490.           
  491.        VERBOSE=off
  492.        MAILDIR=$HOME/mail
  493.        PMDIR=$HOME/.procmail
  494.        LOGFILE=$PMDIR/log
  495.        # INCLUDERC=$PMDIR/rc.testing
  496.        INCLUDERC=$PMDIR/rc.maillists
  497.  
  498.      NOTE: Leaving the rc.testing line in your .procmailrc file is
  499.            useful for future testing.
  500.  
  501. ------------------------------
  502.  
  503. Date: 18 Apr 1995 00:02:20 GMT
  504. From: FAQ Editor <faq-editor@ii.com>
  505. Subject:     2.2 Troubleshooting Procmail
  506.  
  507. If messages are not delivered correctly, here are steps you can use to
  508. try to solve the problem.
  509.  
  510. ------------------------------
  511.  
  512. Date: 18 Apr 1995 00:02:21 GMT
  513. From: FAQ Editor <faq-editor@ii.com>
  514. Subject:         2.2.1 General Strategies
  515.  
  516. 1]    Look at your $LOGFILE (~/.procmail/log) to see if you can
  517.       determine what the problem is.
  518.  
  519. 2]    Check these three files for typos:
  520.         ~/.forward
  521.         ~/.procmailrc
  522.         ~/.procmail/rc.testing
  523.  
  524. 3]    Check the file and directory permissions of your .forward (set in 
  525.       5c in "Setting up Procmail for Testing" above).
  526.  
  527.       Type...          In order to...
  528.       -------          --------------
  529.       cd               Go to your home directory.
  530.       
  531.       ls -l .forward   Check the permission: it should say -rw-r--r--
  532.       
  533.       ls -ld .         Check permission of home dir: it should say drwx?-x?-x
  534.                        The ?'s may be r's or hyphens or one of each (i.e.,
  535.                        drwx--x--x, drwxr-xr-x, drwxr-x--x, drwx--xr-x are
  536.                        each acceptable.)
  537.       
  538.  
  539. 4]    If the above three steps do not locate the problem edit your 
  540.       ~/.procmailrc so that it contains:
  541.  
  542.         VERBOSE=on
  543.  
  544.       Test procmail by following steps 6 and 7 again.  Look at your
  545.       $LOGFILE (which will contain verbose messages) to see if you
  546.       can now determine what the problem is.
  547.  
  548.       If you are still having problems see the next section on
  549.       "Alternate .forward Files."  After you get procmail to work, 
  550.       you probably will want to set VERBOSE back to off.
  551.  
  552. ------------------------------
  553.  
  554. Date: 18 Apr 1995 00:02:22 GMT
  555. From: "Stephen R. van den Berg" <berg@pool.informatik.rwth-aachen.de>
  556. Subject:         2.2.2 Alternate .forward files
  557.  
  558. If the .forward template in 5b above doesn't work the following alternatives 
  559. might be helpful:
  560.  
  561. In a perfect world:
  562.     "|exec /usr/local/bin/procmail #nancym"
  563. In an almost perfect world:
  564.     "|exec /usr/local/bin/procmail USER=nancym"
  565. In another world:
  566.     "|IFS=' ';exec /usr/local/bin/procmail #nancym"
  567. In a different world:
  568.     "|IFS=' ';exec /usr/local/bin/procmail USER=nancym"
  569. In a smrsh world:
  570.     "|/usr/local/bin/procmail #nancym"
  571.  
  572. These formats can be tried in different combinations, the leading "| can
  573. be tried as |" instead, or vice versa.
  574.  
  575. NOTE
  576. ====
  577. If your system uses procmail as its local delivery agent, you do not
  578. need a .forward file; simply having a .procmailrc files suffices.  To
  579. find out if procmail is the local delivery agent, ask your system
  580. administrator.
  581.  
  582. ------------------------------
  583.  
  584. Date: 18 Apr 1995 00:02:30 GMT
  585. From: FAQ Editor <faq-editor@ii.com>
  586. Subject:     2.3 Explanation of Test Recipe
  587.  
  588. The recipe you used for testing is:
  589.  
  590. :0:
  591. * ^Subject:.*test
  592. IN.testing
  593.  
  594.  
  595. The meaning of this recipe is:
  596.  
  597. Notation            Meaning
  598. ========            =======
  599. :0                  Begin a recipe
  600.   :                 Use a lock file
  601. *                   Begin a condition 
  602.   ^                 Match the beginning of a line followed by....
  603.    Subject:         ``Subject:'' followed by....
  604.            .        any character (.) followed by....
  605.             *       0 or more of preceding character (any character in this 
  606.                        case) followed by....
  607.               test  ``test''
  608. IN.testing          If successful match, put in folder $MAILDIR/IN.testing
  609.  
  610. ------------------------------
  611.  
  612. Date: 18 Apr 1995 00:02:40 GMT
  613. From: FAQ Editor <faq-editor@ii.com>
  614. Subject:     2.4 Tracking Your Incoming Mail
  615.  
  616. You can use mailstat, a useful script that is part of the procmail
  617. package, to check your procmail log file. Check to see if it is 
  618. on your system by typing either `which mailstat' or `type mailstat'.  
  619. If it's on your system type:
  620.  
  621.   mailstat $HOME/.procmail/log
  622.  
  623. This displays a concise version of your log file and moves your log 
  624. file to log.old.  You may want to put the above line in your .login so that 
  625. each time you log in you will see a listing of how many messages you've
  626. received since the last time you ran mailstat, and what folders these
  627. messages were delivered to.
  628.  
  629. You can get a mailstat listing of log.old by using the -o flag:
  630.  
  631.   mailstat -o $HOME/.procmail/log
  632.  
  633.  
  634. If mailstat is not on your system ask your system administrator to
  635. install it.  The script is located with all the other procmail tools
  636. (see 2.1.1 above for the ftp location).
  637.  
  638. ------------------------------
  639.  
  640. Date: 18 Apr 1995 00:02:50 GMT
  641. From: FAQ Editor <faq-editor@ii.com>
  642. Subject:     2.5 Procmail References
  643.  
  644. Man Pages:    procmail(1)   - autonomous mail processor
  645.               procmailrc(5) - procmail rc file
  646.               procmailex(5) - procmail rc file examples
  647.               procmailsc(5) - procmail weighted scoring techique
  648.               egrep(1)      - search file for regular expression (procmail 
  649.                               uses egrep-style regular exprssions along with 
  650.                               some of its own expressions like ^TO)
  651.               formail(1)    - mail reformatter
  652.               sendmail(8)   - send mail over the internet
  653.  
  654. Newsgroup:    comp.mail.misc
  655.  
  656. Mailing List: procmail@informatik.rwth-aachen.de
  657.            Subscribe to the procmail mailing list by sending mail:
  658.              To: procmail-request@informatik.rwth-aachen.de 
  659.              Subject: subscribe
  660.  
  661. Procmail Archives:
  662.            Get a list of files available at the procmail mail server by 
  663.            sending mail:
  664.              To: procmail-request@informatik.rwth-aachen.de 
  665.              Subject: archive ls
  666.  
  667.            Get Best of the Procmail mailing list by sending mail (you'll 
  668.            need gzip and a MIME-decoder to unpack it):
  669.              To: procmail-request@informatik.rwth-aachen.de 
  670.              Subject: archive get best_of_procmail_list*
  671.  
  672. ------------------------------
  673.  
  674. Date: 18 Apr 1995 00:03:00 GMT
  675. From: Raphael Manfredi <ram@hptnos02.grenoble.hp.com>
  676. Subject: 3.0 Mailagent
  677.  
  678. Mailagent is a powerful mail processing package that can be used to
  679. process your mail messages, either at arrival time via a .forward hook
  680. or later on while they are already saved in a mail folder.
  681.  
  682. Mailagent is written in Perl and hence has all the advantages of being
  683. interpreted, i.e. it is easy to enhance dynamically and to customize.
  684.  
  685. This version of the FAQ describes the basics of setting up mailagent to
  686. process incoming mail messages from within a .forward. To find out about
  687. the more advanced features of mailagent, please refer to the mailagent(1)
  688. manual page.
  689.  
  690. ------------------------------
  691.  
  692. Date: 18 Apr 1995 00:03:10 GMT
  693. From: Raphael Manfredi <ram@hptnos02.grenoble.hp.com>
  694. Subject:     3.1 Setting Up Mailagent
  695.  
  696. 1] First, make sure mailagent is available on your system. The easiest
  697.    way to do this is to run:
  698.  
  699.     mailagent -V
  700.  
  701.    which will print the mailagent version if it is available, or the shell
  702.    will issue an error message "mailagent: not found" or something like it.
  703.  
  704. 2a] Now you need to understand the MTA (Mail Transport Agent, the program
  705.     that delivers the mail; usually, sendmail) will NOT deliver to mailagent
  706.     directly, rather to an intermediate (small) filter program. Two versions
  707.     are available: shell or C -- refer to the mailagent(1) manpage to choose,
  708.     but I recommend you use the C version first, and move to the shell
  709.     version if you can't run a binary from your .forward file.
  710.  
  711. 2b] Locate the filter program (it will be filter or filter.sh depending on
  712.     whether you choose the C or the shell version respectively) under some
  713.     directory like /usr/local/lib/mailagent. From now on, we'll assume we
  714.     use the C filter and that it is located under /usr/local/lib/mailagent.
  715.  
  716. 3] Copy the file /usr/local/lib/mailagent/mailagent.cf as ~/.mailagent and
  717.    edit it to configure your system correctly. You will see two distinct
  718.    sections in that file and you need to set-up properly the first one, the
  719.    "Configuration section".
  720.  
  721.    If you have a version of mailagent that is recent enough (at least 3.0 PL32)
  722.    then you can create an initial configuration very easily and quickly by
  723.    running the following command:
  724.  
  725.     mailagent -I
  726.  
  727.    which will set-up an almost ready-to-use ~/.mailagent file. All you
  728.    need to do at this point is go through its configuration section
  729.    to make sure mailagent made the right choices...
  730.  
  731.    The minimal set of variables that MUST be correctly set (i.e. for which
  732.    you cannot rely on the default set in the file) are (# introduces comment
  733.    in a shell-like manner, which run up to the end of the line):
  734.  
  735.     home:  # Your HOME directory, as reported by "echo $HOME", usually.
  736.     path:  # Path to be used to locate mailagent and perl, at least.
  737.     p_xxx: # Path to be appended to "path" above when running on machine "xxx".
  738.     user:  # Your login name.
  739.     name:  # Your name.
  740.     level: # Logging level. I recommend you raise it to 20 for testing.
  741.  
  742.    The mail folder directory is ~/Mail by default, but it can be changed
  743.    only from within your rule file by putting
  744.  
  745.     maildir = ~/mail;
  746.  
  747.    at its top, for instance, to make it ~/mail. The rule file is defined as
  748.    the "rules" parameter, and is set to ~/.rules by default.
  749.  
  750. 4] Ensure the directories configured in your ~/.mailagent under "logdir" and
  751.    "spool" and "queue" do exist. If you use the standard setting, this
  752.    requires the following commands:
  753.  
  754.     cd
  755.     mkdir var
  756.     cd var
  757.     mkdir log mailagent
  758.     cd mailagent
  759.     mkdir queue
  760.  
  761. 5a] Create a rule file (named ~/.rules by default) for testing:
  762.  
  763.     cd
  764.     vi .rules
  765.  
  766. 5b] Enter the following in ~/.rules
  767.  
  768.     Subject: /test/     { SAVE testing };
  769.  
  770.     The meaning of that rule should be pretty obvious: If we receive a mail
  771.     whose subject line contains the word "test", then we save that mail in
  772.     a folder named "testing", under the default folder directory (~/Mail).
  773.  
  774. 5c] Create a ~/.forward file as follows:
  775.  
  776.     "|exec /usr/local/lib/mailagent/filter >> /export/home/ram/.bak 2>&1"
  777.  
  778.     The meaning of that line is the following: every mail should be piped
  779.     (hence the leading "|" character) onto the filter program, and any
  780.     output from that program (i.e. errors) are appended to some file in
  781.     your home directory, with stderr following stdout (2>&1) in traditional
  782.     sh syntax.
  783.  
  784.     == IMPORTANT NOTES ==
  785.     * Your .forward is always processed by sh, regardless of your login shell.
  786.     * Replace /export/home/ram with your proper login directory full path.
  787.       That's a part that makes your .forward unique (for zealous optimizing
  788.       sendmail that are dead wrong about optimizing!) and that can save
  789.       you a lot of trouble if anything goes wrong! Just look at your ~/.bak!
  790.     * Replace /usr/local/lib/mailagent/filter with the proper filter path
  791.       on your machine.
  792.  
  793. 5d] Note that on many systems, you need to ensure your .forward will be
  794.     readable by everybody, and that your home directory has the "x" bit set
  795.     for everybody (i.e. can be part of a lookup path) so that sendmail can see
  796.     and parse your .forward file. To ensure this, type:
  797.  
  798.         cd
  799.         chmod a+r .forward
  800.         chmod a+x .
  801.  
  802. 6] Send yourself two test messages: one with "test" in the subject, and one
  803.    without "test" in the subject.
  804.  
  805. 7a] Checkout your ~/.bak file: it should be empty!
  806.  
  807. 7b] Checkout your ~/var/log/agentlog file to see what really happened to your
  808.     messages. Watch out for any ERROR or WARNING logs. This assumes you have
  809.     left at least the default logging level (9) in the ~/.mailagent file (the
  810.     "level" variable). But for testing, that level should be raised to 20 to
  811.     help you diagnose what's going on.
  812.  
  813. 7c] Look out in ~/Mail/testing. You should find there the message whose Subject
  814.     line contained the word "test". Then make sure the other message has been
  815.     delivered to your regular mailbox. (Since no match occurred in your rule
  816.     file, the mail is left in your mailbox by default).
  817.  
  818. 7d] TROUBLESHOOTING
  819.     * If your mail was not properly delivered, please make sure your rule file
  820.       and configuration file are correct by issuing the following command:
  821.  
  822.         mailagent -d
  823.  
  824.     * If the previous command does not output the single rule you should have
  825.       put in ~/.rules, then please make sure step 3 and 4 above were correctly
  826.       performed (those being the crucial steps ensuring a proper configuration).
  827.     
  828.     * Check the ~/.bak file for error messages.
  829.  
  830.     * Check for typos in any of these files:
  831.         ~/.forward
  832.         ~/.mailagent
  833.         ~/.rules
  834.     
  835.     * Check the file and directory permissions of your .forward (set in step
  836.       5c above).
  837.  
  838.       Type...          In order to...
  839.       -------          --------------
  840.       cd               Go to your home directory.
  841.       
  842.       ls -l .forward   Check the permission: it should say -rw-r--r--
  843.       
  844.       ls -ld .         Check permission of home dir: it should say drwx?-x?-x
  845.                        The ?'s may be r's or hyphens or one of each (i.e.,
  846.                        drwx--x--x, drwxr-xr-x, drwxr-x--x, drwx--xr-x).
  847.       
  848.     * If none of the previous hints helped you identify problem, and you can't
  849.       figure it out from the output in ~/.bak or in the ~/var/log/agentlog file
  850.       (or whatever file you have configured for logging within your ~/.mailagent
  851.       file, variables "log" and "logdir"), then make sure your mail is not
  852.       waiting in the MTA's queue: this might be the case if the agentlog file
  853.       is empty. If you are using sendmail as MTA, you can run:
  854.  
  855.         /usr/lib/sendmail -bp
  856.     
  857.       to print out the queue.
  858.     
  859.     * As a last resort, please look at the mailagent(1) manual page under
  860.       the section "Testing Your Installation" for more tips and things
  861.       to look at.
  862.  
  863. 8] Once you have successfully tested mailagent in steps 6 and 7 above,
  864.    you're on! Mailagent is ready to process your mail. All you have to
  865.    do is extend the ~/.rules file to add more rules.
  866.  
  867.    For instance:
  868.  
  869.    To Cc: www-talk      { SAVE www-talk };
  870.    To Cc: agent-users   { SAVE agent-users };
  871.  
  872.    Those two rules filter the two mailing lists www-talk and agent-users into
  873.    their respective folders, whether the mailing list address appear in the To
  874.    OR Cc header.
  875.  
  876.    Since rules are not qualified as a pattern match (contrary to our test
  877.    above), they match on logins in the address, i.e. they will match things
  878.    like www-talk@chip.com or chip!www-talk, or a plain simple www-talk if
  879.    this is a local alias. (This implicit matching on logins works only for
  880.    some selectors like To, Cc or From which are know to contain addresses).
  881.  
  882.    If you wish to sort on patterns appearing in the Subject of messages for
  883.    instance, then you must use a pattern matching syntax, as in:
  884.  
  885.    Subject: /star trek/ { SAVE star-trek; };
  886.  
  887.    to save in a folder "star-trek" all the messages whose subject contains
  888.    the words "star trek". Case matters, but keep on reading...
  889.  
  890. 9] As an advanced topic, since mailagent is written in Perl, you have all the
  891.    power of Perl's regular expressions at your disposal. Which means you can
  892.    write things like this:
  893.  
  894.    To Cc: agent-users                    { REJECT AGENT };
  895.    <AGENT> Subject: /^\w*subscribe/i     { DELETE };
  896.    <AGENT> *                             { UNIQUE -a; SAVE agent };
  897.  
  898.    The second lines makes use of that perl extended regular expression syntax:
  899.    \w matches an alphanumeric character plus "_", while the trailing "i" option
  900.    requests a case-insensitive match.
  901.  
  902.    You also note you have a real automaton at your disposal. You can enter
  903.    a special state (AGENT in our example) and continue parsing by only
  904.    scanning for rules tagged by this mode. The first match stops the automaton,
  905.    unless you REJECT to continue processing. When not restricted by a mode list,
  906.    a rule is always taken into account. For example, assuming the automaton
  907.    is in the state "NEWS", it will not consider rules tagged <AGENT>, as in
  908.    the above example. The automaton begins in mode "INITIAL".
  909.  
  910.    The "UNIQUE -a" action followed by a SAVE ensures only one copy per
  911.    Message-ID will ever end-up in your agent folder -- no duplicates!
  912.    Also note you can have more than one action per rule, and that the last
  913.    one uses '*' to match anything, i.e. its action part between {} will
  914.    always be executed in AGENT mode, when reached by the automaton.
  915.  
  916.    Also, since in Perl regular expression syntax, \b matches a word-boundary
  917.    and \s any space or tab character, we can write our Star Trek message
  918.    sorting into a much more robust form:
  919.  
  920.    Subject: /\bstar\s+trek\b/i  { SAVE star-trek; };
  921.  
  922.    (\s+ matches one or more white spaces, while \s* would match zero or more,
  923.    see the Perl manual page for a complete description of regular expressions.)
  924.  
  925.    which will match on various subject strings like "Last Star Trek season"
  926.    or "I am addicted to Star trek", but not on "Tristar treks" -- whatever
  927.    that means :-)
  928.  
  929.    All in all, the filtering automaton syntax is pretty much intuitive and
  930.    easy to read. You have to learn which actions are possible and what they
  931.    mean, naturally.
  932.  
  933. ------------------------------
  934.  
  935. Date: 18 Apr 1995 00:03:20 GMT
  936. From: Raphael Manfredi <ram@hptnos02.grenoble.hp.com>
  937. Subject:     3.2 Tracking Your Incoming Mail
  938.  
  939. If you are curious about what mailagent does to your mail, you have two
  940. options:
  941.  
  942.     * Look at your "agentlog" file, with a log level set to 9.
  943.     * Get a summary of all the actions performed by running:
  944.  
  945.         mailagent -summary
  946.  
  947.       This last option is only possible if you have initialized the statistics
  948.       gathering process by creating a ~/var/mailagent/mailagent.st file (under
  949.       the default setting from ~/.mailagent).
  950.  
  951.       You will get a clear picture of your processing, by seeing which rule
  952.       match, how often, in which state, etc... You will also know how many
  953.       times you SAVE or DELETE messages for instance.
  954.  
  955.       Actually, mailagent statistics are triggered by a simple
  956.  
  957.         mailagent -s
  958.     
  959.       command, the letters given after in the {u,m,a,r,y} set being options
  960.       that alter the output given by the command.
  961.  
  962.     * Look at the ~/.bak occasionally to make sure no error is pending...
  963.  
  964. ------------------------------
  965.  
  966. Date: 18 Apr 1995 00:03:30 GMT
  967. From: Raphael Manfredi <ram@hptnos02.grenoble.hp.com>
  968. Subject:     3.3 How Safe Mailagent Processing Is?
  969.  
  970. As soon as the filter program has taken a hold on your message, you can rest
  971. assured the mail will get filtered one way or the other. If filter can't
  972. queue your mail, it will exit with an exit status of 75, that status
  973. being recognized by "sendmail" as a "deliver later on" hint, in which case
  974. the mail message will safely wait in sendmail's queue.
  975.  
  976. So if filter gets your message, it immediately forks and exits with a 0
  977. status for sendmail, letting it know its work is finished and releasing it
  978. to save resources. It then calls mailagent on the queued message (in mailagent's
  979. private queue) to actually process the message.
  980.  
  981. Only after successful processing will mailagent delete the queued message.
  982. Hence, under an heavily loaded system, the worst that could happen would be
  983. a duplicate processing of a message, or a bounce back when sendmail cannot
  984. fork and exec the filter program from your .forward.
  985.  
  986. Under catastrophic conditions, filter or mailagent will simply dump the message
  987. on stdout, for ~/.bak to catch, preceded by the reason why processing was
  988. aborted.
  989.  
  990. ------------------------------
  991.  
  992. Date: 18 Apr 1995 00:03:40 GMT
  993. From: Raphael Manfredi <ram@hptnos02.grenoble.hp.com>
  994. Subject:     3.4 Locking Under Mailagent
  995.  
  996. By default, mailagent proceeds with a fixed locking scheme (.lock extension)
  997. plus flock() if asked to do so at Configure time. However, mailagent provides
  998. support for NFS-secure locks and also can use non-standard locking procedures,
  999. configurable from within ~/.mailagent (variables "nfslock" and "mboxlock").
  1000.  
  1001. However, it cannot support locking on a rule basis (yet!). The author is
  1002. willing to raise the priority of that item if one comes up with a legitimate
  1003. need for that feature that could not be worked-around by a PERL escape. ;-)
  1004.  
  1005. ------------------------------
  1006.  
  1007. Date: 18 Apr 1995 00:03:50 GMT
  1008. From: Raphael Manfredi <ram@hptnos02.grenoble.hp.com>
  1009. Subject:     3.5 Folder Types Supported
  1010.  
  1011. Mailagent can deliver mail to plain UNIX folders (also known as "mbox format"),
  1012. to MMDF folders, to MH folders (with unseen sequence update built-in and using
  1013. locks, not like rcvstore which does not!) or to directories (ala MH, but
  1014. without unseen sequence support and with alternate naming possible).
  1015.  
  1016. It also supports delivery to folders with the "x" bit set, in which case
  1017. mailagent interprets those as being hooks. It either pipes the message
  1018. to the "program" or further interprets the hook to do more processing.
  1019. See the manual page mailagent(1) under the section "MAIL HOOKS" for more
  1020. details.
  1021.  
  1022. ------------------------------
  1023.  
  1024. Date: 18 Apr 1995 00:03:60 GMT
  1025. From: Raphael Manfredi <ram@hptnos02.grenoble.hp.com>
  1026. Subject:     3.6 Mailagent References
  1027.  
  1028. Man Pages   mailagent(1) - reference manual page (about 47 pages troff'ed).
  1029.             perl(1)      - reference manual for Perl
  1030.             sendmail(8)  - send mail over the Internet
  1031.  
  1032. Examples:   agent/examples/rules - a commented rule file sample, from the
  1033.                                    distribution source tree.
  1034.  
  1035. Newsgroup: comp.mail.misc
  1036.  
  1037. Mailing List: agent-users@foretune.co.jp
  1038.  
  1039.     Subscribe to the list by sending mail:
  1040.  
  1041.       To: majordomo@foretune.co.jp
  1042.       subscribe agent-users
  1043.     
  1044. Mailagent archives:
  1045.  
  1046.     FTP://ftp.foretune.co.jp/pub/network/mail/mailagent
  1047.  
  1048.     EMAIL: Send mail to the author's mailagent:
  1049.     
  1050.       To: ram@hptnos02.grenoble.hp.com
  1051.       Subject: Command
  1052.       @SH maildist - mailagent -
  1053.  
  1054. ------------------------------
  1055.  
  1056. Date: 18 Apr 1995 00:04:00 GMT
  1057. From: FAQ Editor <faq-editor@ii.com>
  1058. Subject: 4.0 Filter
  1059.  
  1060. Filter is part of the Elm package of tools.  Note that you can use filter
  1061. to filter your incoming mail even if you are not using Elm to read your mail.
  1062.  
  1063. IMPORTANT NOTE
  1064. ==============
  1065. If your system has both procmail and filter installed then you should use 
  1066. procmail which is *much* more robust and powerful than filter.  This 
  1067. recommendation is almost universal; even the developers of Elm and Filter
  1068. recommend procmail over filter.  IT IS POSSIBLE TO LOSE MAIL MESSAGES
  1069. WHEN USING FILTER; this is rare but it has happened.
  1070.  
  1071. ------------------------------
  1072.  
  1073. Date: 18 Apr 1995 00:04:10 GMT
  1074. From: FAQ Editor <faq-editor@ii.com>
  1075. Subject:     4.1 Setting up Filter
  1076. Followup-To: comp.mail.elm
  1077.  
  1078. 1] Find out if filter is on your system and what the full path to it is.  
  1079.    If you are using the C shell (csh) type:
  1080.  
  1081.      which filter
  1082.  
  1083.    Or, if you are using the Korn shell (ksh) or the Bourne shell (sh) type:
  1084.  
  1085.      type filter
  1086.  
  1087.    If neither ``which'' nor ``type'' are on your system try ``where'' and
  1088.    ``whereis''.  If your system doesn't have filter ask your system 
  1089.    administrator to install it; or even better ask her to install procmail.
  1090.  
  1091.  
  1092. 2] Note the full path of your home directory by typing:
  1093.  
  1094.      cd
  1095.      pwd
  1096.  
  1097.  
  1098. 3a] Create ~/.elm/filter-rules.  (Note that throughout this article I use
  1099.     pico for editing files.  Replace ``pico'' with your editor.)
  1100.  
  1101.      cd
  1102.      mkdir .elm
  1103.      cd .elm
  1104.      pico filter-rules
  1105.  
  1106.   
  1107. 3b] Enter a modified version of the following in your ~/.elm/filter-rules
  1108.  
  1109.      if (subject contains "test") then save "/j/nancym/Mail/IN.testing"
  1110.    
  1111.    Replace /j/nancym with your home directory path (see step 2).
  1112.    Replace /Mail with the name of the directory where your mail folders are
  1113.    stored.  Pine and Berkeley Mail use /mail (lower case m) and Elm uses 
  1114.    /Mail (upper case M).
  1115.    
  1116.  
  1117. 4] To see what the filter rule will do type the following at your Unix 
  1118.    prompt:  
  1119.  
  1120.      filter -r
  1121.  
  1122.  
  1123. 5a] Create a ~/.forward file by typing the following. (Pico's -w flag tells 
  1124.     pico not to auto wrap lines.)
  1125.  
  1126.       cd
  1127.       pico -w .forward
  1128.  
  1129.  
  1130. 5b] Enter a modified version of the following in your ~/.forward:
  1131.  
  1132.  
  1133.      "|/usr/local/bin/filter -o /j/nancym/.elm/filter-errors"
  1134.  
  1135.  
  1136.     == IMPORTANT NOTES ==
  1137.     * Make sure you include the quotes (").
  1138.     * The vertical bar (|) is a pipe.
  1139.     * Replace /usr/local/bin with the correct path for filter (see step 1).
  1140.     * Replace /j/nancym with your home directory (see step 2).
  1141.    
  1142.     * Do NOT expect environment variables, like $HOME, to work in your 
  1143.       .forward file.
  1144.     * Do NOT expect ~ to mean your home directory in the .forward file.
  1145.  
  1146.  
  1147. 5c] Note that on many systems you need to make your .forward is world 
  1148.     readable and your home directory world searchable in order for the
  1149.     mail transport agent to "see" it.  To do this type:
  1150.    
  1151.       cd
  1152.       chmod 644 .forward
  1153.       chmod a+x .
  1154.  
  1155.  
  1156. 6] Send yourself two test messages: one with ``test'' in the subject
  1157.    and one without ``test'' in the subject.
  1158.  
  1159.  
  1160. 7a] Start your mailer (pine, elm, etc.) and check that the messages
  1161.     were delivered correctly.  The one with ``test'' in the subject
  1162.     should be in the folder IN.testing and the one without ``test'' 
  1163.     in the subject should be in your inbox.  If these were delivered 
  1164.     correctly go on to step 8.
  1165.  
  1166.  
  1167. 7b] TROUBLESHOOTING
  1168.     * If the two messages were not delivered correctly look at your
  1169.       ~/.elm/filter-errors to see if you can determine what the problem 
  1170.       is.  
  1171.  
  1172.     * Check these two files for typos:
  1173.         ~/.forward
  1174.         ~/.elm/filter-rules
  1175.  
  1176.     * Check the file and directory permissions of your .forward (set in 
  1177.       5c above).
  1178.  
  1179.       Type...          In order to...
  1180.       -------          --------------
  1181.       cd               Go to your home directory.
  1182.       
  1183.       ls -l .forward   Check the permission: it should say -rw-r--r--
  1184.       
  1185.       ls -ld .         Check permission of home dir: it should say drwx?-x?-x
  1186.                        The ?'s may be r's or hyphens or one of each (i.e.,
  1187.                        drwx--x--x, drwxr-xr-x, drwxr-x--x, drwx--xr-x).
  1188.       
  1189.  
  1190.     * If none of these turn up the problem edit your ~/.forward so
  1191.       that filter will be verbose with it's output (use the -vo flag).
  1192.  
  1193.         "|/usr/local/bin/filter -vo /j/nancym/.elm/filter-errors"
  1194.  
  1195.       And repeat steps 6 and 7.  After you get filter to work you 
  1196.       will probably want to change the ``-vo'' flag back to ``-o''.
  1197.  
  1198.    
  1199. 8]  After you have successfully tested filter in steps 6 and 7, edit
  1200.     ~/.elm/filter-rules so that it contains a modified version of the
  1201.     following:
  1202.  
  1203.      # if (subject contains "test") then save "/j/nancym/Mail/IN.testing"
  1204.      if (to contains "www-talk") then save "/j/nancym/Mail/IN.www-talk"
  1205.      if (to contains "hopos-l") then save "/j/nancym/Mail/IN.hopos"
  1206.  
  1207.      Replace /j/nancym with your home directory path and
  1208.      /Mail with the name of your mail directory.  Replace the mailing 
  1209.      list string (e.g., "www-talk") and the name of the mail folder
  1210.      (e.g., IN.www-talk) with text for your mailing lists.
  1211.  
  1212.      Note that ``to contains...'' means either the To or Cc header contains...
  1213.  
  1214.      Rather than deleting the test line, it's useful to just turn it
  1215.      into a comment (by preceding it with #) so that you can easily
  1216.      use it for future testing.
  1217.  
  1218. ------------------------------
  1219.  
  1220. Date: 18 Apr 1995 00:04:20 GMT
  1221. From: FAQ Editor <faq-editor@ii.com>
  1222. Subject:     4.2 Tracking Your Incoming Mail
  1223. Followup-To: comp.mail.elm
  1224.  
  1225. You can get a short summary of filter's activity by typing:
  1226.  
  1227.     filter -s
  1228.  
  1229. For a longer summary type:
  1230.  
  1231.     filter -S
  1232.  
  1233. Or you can look at the log file itself, ~/.elm/filterlog.
  1234.  
  1235. You should regularly look at ~/.elm/filter-errors to make sure things 
  1236. are working.  You can automatically check filter-errors each time you
  1237. log in by putting the following in your .login:
  1238.  
  1239.     tail ~/.elm/filter-errors
  1240.  
  1241. Also you probably want to regularly delete filterlog and filter-errors so 
  1242. they don't fill up your disk space.  To get a summary of the filter log and 
  1243. clear it type:
  1244.  
  1245.     filter -cs
  1246.  
  1247. ------------------------------
  1248.  
  1249. Date: 18 Apr 1995 00:04:30 GMT
  1250. From: FAQ Editor <faq-editor@ii.com>
  1251. Subject:     4.3 Filter References
  1252. Followup-To: comp.mail.elm
  1253.  
  1254. Web Pages: http://www.myxa.com/elm.html
  1255.            http://www.inf.fu-berlin.de/~guckes/elm/elm.filter.html  
  1256. FAQs:      http://www.cis.ohio-state.edu/hypertext/faq/usenet/elm/top.html
  1257. Man Pages: filter(1)
  1258. Newsgroup: comp.mail.elm
  1259.  
  1260. ------------------------------
  1261.  
  1262. Date: 18 Apr 1995 00:05:00 GMT
  1263. From: FAQ Editor <faq-editor@ii.com>
  1264. Subject: 5.0 Mailer and Newsreader References
  1265.  
  1266. PINE
  1267. ====
  1268. Web Pages: http://www.cac.washington.edu/pine/
  1269. FAQ:       http://www.cac.washington.edu/pine/faq/
  1270.            ftp://ftp.cac.washington.edu/pine/docs/faq
  1271. Man Pages: pine(1), pico(1)
  1272. Newsgroup: comp.mail.pine (linked to Pine mailing list)
  1273. Mailing List: pine-info@cac.washington.edu (linked to Pine newsgroup)
  1274.            Subscribe to the pine-info mailing list by sending mail to:
  1275.                      majordomo@cac.washington.edu
  1276.            With...
  1277.                      subscribe pine-info
  1278.            in the body of the message.
  1279.  
  1280. ELM
  1281. ===
  1282. Web Pages: http://www.myxa.com/elm.html
  1283.            http://www.inf.fu-berlin.de/~guckes/elm/
  1284. FAQs:      http://www.cis.ohio-state.edu/hypertext/faq/usenet/elm/top.html
  1285. Man Pages: elm(1)
  1286. Newsgroup: comp.mail.elm
  1287.  
  1288. Emacs Mail Mode
  1289. ===============
  1290. Newsgroups: gnus.emacs.help and comp.emacs
  1291. FAQ: 
  1292.  http://www.cis.ohio-state.edu/hypertext/faq/usenet/GNU-Emacs-FAQ/part5/faq.html    
  1293. MH
  1294. ==
  1295. FAQ:       http://www.cis.ohio-state.edu/hypertext/faq/usenet/mh-faq/top.html
  1296. Man Pages: mh(1)
  1297. Newsgroup: comp.mail.mh
  1298.  
  1299. MAIL
  1300. ====
  1301. Man Pages: mail(1)
  1302. Newsgroup: comp.mail.misc
  1303.  
  1304. NN
  1305. ==
  1306. Web Pages: http://www.best.com/~ii/internet/nn/
  1307. FAQs:      http://www.cis.ohio-state.edu/hypertext/faq/usenet/nn-faq/top.html
  1308. Man Pages: nn(1)
  1309. Newsgroup: news.software.nn
  1310.  
  1311. (Please send me pointers to other mailer and newsreader references
  1312. and let me know what newsreaders can read mail folders.)
  1313.  
  1314. ------------------------------
  1315.  
  1316. From: FAQ Editor <faq-editor@ii.com>
  1317. Subject: 6.0 Contributors
  1318.  
  1319. This FAQ, like many others, is a collaborative effort.  I learned a
  1320. lot of the information in newsgroups and mailing lists, especially:
  1321.   comp.mail.*
  1322.   procmail mailing list
  1323.  
  1324. Also, lots of people have mailed me information and I've tried to
  1325. acknowledge them below.
  1326.  
  1327. ------------------------------
  1328.  
  1329. Date: 18 Apr 1995 00:06:10 GMT
  1330. From: FAQ Editor <faq-editor@ii.com>
  1331. Subject:     6.1 Acknowledgements
  1332.  
  1333. Thanks to these people who sent suggestions:
  1334.    David L. Miller <dlm@cac.washington.edu>
  1335.    Cookie Monster <kmanley@bits.fc.hp.com>
  1336.    Jim Showalter <gamma@mintaka.disa.mil>
  1337.    David W. Tamkin <dattier@mcs.com>
  1338.    Rick Troxel <rick@helix.nih.gov>
  1339.    Stephen R. van den Berg <berg@pool.informatik.rwth-aachen.de>
  1340.    Syd Weinstein <syd@dsinc.myxa.com>
  1341.  
  1342. Special thanks to:
  1343.    Thomas A. Fine <fine@cis.ohio-state.edu> for setting up and
  1344.    maintaining the hypertext archive of FAQs.  Congratulations
  1345.    to him for winning O'Reilly and Associates' "The Best of the
  1346.    Net" award!
  1347.  
  1348. Please let me know if I've left you, or anyone else, out of this list.
  1349.  
  1350. ------------------------------
  1351.  
  1352. Date: 18 Apr 1995 00:06:20 GMT
  1353. From: FAQ Editor <faq-editor@ii.com>
  1354. Subject:     6.2 Contributing to this FAQ
  1355.  
  1356. If you have any corrections, suggestions, or new digest items to
  1357. contribute to this FAQ please send them to faq-editor@ii.com.  If your
  1358. reader understands the following URL, you can use it to send me mail:
  1359.  
  1360.   mailto:faq-editor@ii.com.  
  1361.  
  1362. Things I'm especially interested in are:
  1363.  * a comparison of mail filtering tools
  1364.  * what newsreaders can read mail folders
  1365.  * instructions for opening a specific folder in various readers
  1366.  * lock scheme and files used by various readers
  1367.  * other Unix filtering tools, like deliver
  1368.  * filtering tools for other operating systems like the Mac and DOS/Windows
  1369.  
  1370. ------------------------------
  1371.  
  1372. Date: 18 Apr 1995 00:07:00 GMT
  1373. From: FAQ Editor <faq-editor@ii.com>
  1374. Subject: 7.0 Copyright Notice
  1375.  
  1376. This FAQ is Copyright (c) 1994, 1995 Nancy McGough, except sections
  1377. 2.2.2 and 3.0 through 3.6 which are Copyright (c) 1994, 1995 by the
  1378. authors named in those sections.
  1379.  
  1380. No portion of this work may be sold or put to commercial use without
  1381. express written consent of the authors.  This restriction covers
  1382. publication in any form, or distribution by any method, which permits
  1383. this work to be visually perceived, either directly or with the aid
  1384. of any machine or device.  Permission is granted to republish or
  1385. redistribute this article in its entirety for noncommercial use if
  1386. this copyright notice is not removed or altered.
  1387.  
  1388. End of Filtering Mail Digest
  1389. ****************************
  1390.  
  1391. -- 
  1392.  /\_/\                    @..@                                    /\_/\
  1393. ( o.o )  Nancy McGough   (----)   http://www.halcyon.com/nancym/ ( o.o )
  1394.  > ^ <   Infinite Ink   ( >__< )  http://www.jazzie.com/ii/       > ~ <
  1395.